home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / ansi / sps20.zip / SPS.DOC < prev   
Text File  |  1987-04-23  |  5KB  |  89 lines

  1.  
  2.           SPS.COM ver 2.0 by Bob Montgomery, 4-23-87
  3.  
  4. This is a Terminate and Stay Resident (TSR) program which does  a
  5. Selective  Print Screen (hence the name SPS). Once installed,  it
  6. vectors  interrupt 5 (the print screen interrupt) to itself,  and
  7. sits waiting for a print screen request. When you request a print
  8. screen,  the  cursor is moved to the top of the screen,  and  the
  9. prompt  'Set  start  position' appears in the  lower  right  hand
  10. corner.  The  cursor  can be moved around  the  screen  with  the
  11. following keys:
  12.  
  13.      Right arrow - move cursor right; stops at right edge
  14.      Left arrow -  move cursor left; stops at left edge
  15.      Up arrow -    move cursor up one line; stops at top line
  16.      Down arrow    move cursor down one line; stops at bottom line
  17.      Page Up       move cursor to top line
  18.      Page Down     move cursor to bottom line
  19.      ^Right arrow  move cursor to right edge of screen
  20.      ^Left arrow   move cursor to left edge of screen
  21.      Home          move cursor to upper left corner of screen
  22.      End           move cursor to lower right corner of screen
  23.      P             Print whole screen
  24.      Escape        Cancel print screen
  25.  
  26. When the cursor is at the desired start position, press Enter and
  27. the prompt 'Set end position' will appear in the lower right hand
  28. corner.  Move the cursor to the desired end position,  and  press
  29. Enter  again. The text within the rectangle defined by the  start
  30. and end positions will then be printed.
  31.  
  32. If  you don't want to do a print screen, press Escape  to  cancel
  33. the operation and return to the interrupted program. If you  want
  34. to print the whole screen, press the P (upper or lower case) key.
  35.  
  36. Before the printer starts printing, the prompt in the lower right
  37. corner  is  removed  and the original text is  restored.  If  the
  38. printer  is  not  ready (or deselected), a  prompt  'Printer  not
  39. ready'  will  appear  in the lower right  corner  after  about  2
  40. seconds. Then after about 10 seconds, if the printer is still not
  41. ready,  the  print  screen operation aborts and  returns  to  the
  42. interrupted  program.  If during the print screen  operation  the
  43. printer  becomes  'not ready', a prompt will tell you  this,  and
  44. give you about 10 seconds to fix the problem before aborting.
  45.  
  46. The  program only traps interrupt 5 (print screen) until  invoked
  47. by  pressing Shift PrtSc. Then, it vector the timer and  keyboard
  48. interrupts  (8 and 9) to itself, and saves the old vectors.  When
  49. it is done, it puts the old vectors back, and quits. In this way,
  50. it is essentialy 'not there' until called, and 'not there'  after
  51. it  is  done. This means that it will not  interfere  with  other
  52. programs,  and  not  cause  additional  processing  delays.  Once
  53. invoked, it traps all keyboard input and does not pass it on,  so
  54. the  interrupted  program, other TSRs, and BIOS never  know  that
  55. keys have been pressed. Since the last thing BIOS knew before the
  56. program  was invoked was that the Shift and PrtSc keys  had  been
  57. pressed, the releasing of the Shift key is passed on so that BIOS
  58. can do its housekeeping; releasing the PrtSc key does not  affect
  59. the  BIOS housekeeping, so it is not passed on. This  means  that
  60. the  program must service the keyboard each time it generates  an
  61. interrupt 9, a job which is normally done by BIOS.
  62.  
  63. This program  solves  a number of problems, some  of  which  were
  64. present with the previous version of SPS by Paul Trioano.
  65.  
  66.      1. Passing  keys  on is sometimes a problem,  because  other
  67.         programs (like CED) will save the keypresses, and act  on
  68.         them  after the interrupting program quits.
  69.      2. Sending  the  screen characters directly is  sometimes  a
  70.         problem,  since  some screens contain  control  character
  71.         (below  20h) and make them appear as blanks  by  changing
  72.         the attribute to black on black; HDIR is an example. This
  73.         will  cause  the printer output to not  match  the  video
  74.         screen.
  75.      3. Routing  interrupts  thru  a program  when  not  required
  76.         takes  extra processing time, and can cause  interference
  77.         with other programs.
  78.  
  79. The source code is included, and is liberally commented to  allow
  80. those  interested to understand how it works. It uses  only  BIOS
  81. calls  and no DOS calls; DOS calls will not work in TSR  programs
  82. because DOS is not re-entrant. It has been tried on the XT and AT
  83. with no problems, so will probably work on all machines with  IBM
  84. compatible  BIOS. If you have any problems or comments,  leave  a
  85. message  with the Black Hole BBS in Orlando, Florida, (305)  260-
  86. 6397. Enjoy.
  87.  
  88. Bob Montgomery
  89.